/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.sigodonto.view.managedbean;

import br.com.sigodonto.model.dao.DaoGenerico;
import br.com.sigodonto.model.dao.TratamentoDao;
import br.com.sigodonto.model.entity.Atendimento;
import br.com.sigodonto.model.entity.Clinica;
import br.com.sigodonto.model.entity.Dentista;
import br.com.sigodonto.model.entity.ItemEstoque;
import br.com.sigodonto.model.entity.ItemTratamento;
import br.com.sigodonto.model.entity.Paciente;
import br.com.sigodonto.model.entity.Servico;
import br.com.sigodonto.model.entity.ServicoPrestado;
import br.com.sigodonto.model.entity.Tratamento;
import br.com.sigodonto.model.util.HorarioAtendimento;
import br.com.sigodonto.model.util.RelatorioUtil;
import br.com.sigodonto.view.datamodel.PacienteDataModel;
import java.io.Serializable;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;
import org.primefaces.event.DateSelectEvent;
import org.primefaces.event.SelectEvent;

/**
 *
 * @author Fidelis
 */
@ManagedBean
@ViewScoped
public class GerenciarTratamentoMB implements Serializable {

    /**
     * Creates a new instance of GerenciarTratamentoMB
     */
    private Paciente pacienteSelecionado;
    private PacienteDataModel pacienteDataModel;
    private TratamentoDao daoGenerico;
    private List<Tratamento> tratamentoTodos;
    private Tratamento tratamentoSelecionado;
    private List<Servico> listaServicos;
    private Servico servicoSelecionado;
    private BigDecimal valorSelecionado;
    private Long quantidadeServico;
    private List<ItemEstoque> listaItensEstoque;
    private ItemEstoque itemEstoqueSelecionado;
    private ItemTratamento itemTratamento;
    private int quantidadeItemEstoque;
    private Tratamento tratamento;
    private Clinica clinica;
    private Dentista dentista;
    private Atendimento atendimento;
    private HorarioAtendimento horarioAtendimento;
    private HorarioAtendimento manha1 = HorarioAtendimento.MANHA1;
    private HorarioAtendimento manha2 = HorarioAtendimento.MANHA2;
    private HorarioAtendimento manha3 = HorarioAtendimento.MANHA3;
    private HorarioAtendimento manha4 = HorarioAtendimento.MANHA4;
    private HorarioAtendimento manha5 = HorarioAtendimento.MANHA5;
    private HorarioAtendimento manha6 = HorarioAtendimento.MANHA6;
    private HorarioAtendimento tarde1 = HorarioAtendimento.TARDE1;
    private HorarioAtendimento tarde2 = HorarioAtendimento.TARDE2;
    private HorarioAtendimento tarde3 = HorarioAtendimento.TARDE3;
    private HorarioAtendimento tarde4 = HorarioAtendimento.TARDE4;
    private HorarioAtendimento tarde5 = HorarioAtendimento.TARDE5;
    private HorarioAtendimento tarde6 = HorarioAtendimento.TARDE6;
    private boolean vManha1;
    private boolean vManha2;
    private boolean vManha3;
    private boolean vManha4;
    private boolean vManha5;
    private boolean vManha6;
    private boolean vTarde1;
    private boolean vTarde2;
    private boolean vTarde3;
    private boolean vTarde4;
    private boolean vTarde5;
    private boolean vTarde6;

    public GerenciarTratamentoMB() {
        this.daoGenerico = new TratamentoDao();
        List<Paciente> pacientes = this.daoGenerico.listarTodos(Paciente.class);
        this.listaServicos = this.daoGenerico.listarTodos(Servico.class);
        this.servicoSelecionado = new Servico();
        this.listaItensEstoque = this.daoGenerico.listarTodos(ItemEstoque.class);
        this.itemEstoqueSelecionado = new ItemEstoque();
        this.pacienteDataModel = new PacienteDataModel(pacientes);
        this.tratamentoSelecionado = new Tratamento();
        this.tratamento = new Tratamento();
        this.atendimento = new Atendimento();
        this.itemTratamento = new ItemTratamento();
        this.verTodos();
        this.carregarDentista();
        this.tratamentoTodos = this.daoGenerico.tratamentoPorDentista(this.dentista);
    }

    public void salvarTratamento() {
        FacesMessage message = new FacesMessage();
        String msg = "TRATAMENTO CADASTRADO COM SUCESSO!";
        message.setSeverity(FacesMessage.SEVERITY_INFO);

        if (this.tratamento.getId() != null) {
            if (this.pacienteSelecionado != null) {
                this.carregarDentista();
                this.tratamento.setPaciente(pacienteSelecionado);
                this.tratamento.setDentista(dentista);
                if (!this.tratamento.getServicosPrestados().isEmpty()) {
                    double total = 0;
                    for (ServicoPrestado servicoPrestado : this.tratamento.getServicosPrestados()) {
                        total = total + servicoPrestado.getValor().doubleValue();
                    }
                    this.tratamento.getPagamento().setValorTotal(new BigDecimal(total));
                }
                Tratamento t = this.daoGenerico.atualizar(this.tratamento);
                this.tratamento = new Tratamento();
                this.pacienteSelecionado = null;
                this.tratamentoTodos = this.daoGenerico.tratamentoPorDentista(this.dentista);
                if (t == null) {
                    msg = "ERRO AO CADASTRAR TRATAMENTO!";
                    message.setSeverity(FacesMessage.SEVERITY_ERROR);
                }
            } else {
                msg = "TRATAMENTO CADASTRADO COM SUCESSO!";
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
            }
        } else {
            if (this.pacienteSelecionado != null) {
                this.carregarDentista();
                this.tratamento.setPaciente(pacienteSelecionado);
                this.tratamento.setStatus("ANDAMENTO");
                this.tratamento.getPagamento().setStatusPagamento("ABERTO");
                this.tratamento.setDentista(dentista);
                if (!this.tratamento.getServicosPrestados().isEmpty()) {
                    double total = 0;
                    for (ServicoPrestado servicoPrestado : this.tratamento.getServicosPrestados()) {
                        total = total + servicoPrestado.getValor().doubleValue();
                    }
                    this.tratamento.getPagamento().setValorTotal(new BigDecimal(total));
                }
                boolean certo = this.daoGenerico.salvar(this.tratamento);
                this.tratamento = new Tratamento();
                this.pacienteSelecionado = null;
                this.tratamentoTodos = this.daoGenerico.tratamentoPorDentista(this.dentista);
                if (!certo) {
                    msg = "ERRO AO CADASTRAR TRATAMENTO!";
                    message.setSeverity(FacesMessage.SEVERITY_ERROR);
                }
            } else {
                msg = "TRATAMENTO CADASTRADO COM SUCESSO!";
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
            }
        }



        message.setSummary(msg);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public void excluirTratamento() {
        if (this.tratamentoSelecionado != null) {
            String msg = "TRATAMENTO REMOVIDO COM SUCESSO!";
            FacesMessage message = new FacesMessage(msg);
            message.setSeverity(FacesMessage.SEVERITY_INFO);

            boolean certo = true;

            if(!this.tratamentoSelecionado.getItensTratamentos().isEmpty()){
                for (ItemTratamento itemTratamento1 : this.tratamentoSelecionado.getItensTratamentos()) {
                    certo = this.daoGenerico.remover(itemTratamento1);
                    if(!certo){
                        break;
                    }
                }
            }
            
            if(!this.tratamentoSelecionado.getServicosPrestados().isEmpty()){
                for (ServicoPrestado servicoPrestado : this.tratamentoSelecionado.getServicosPrestados()) {
                    certo = this.daoGenerico.remover(servicoPrestado);
                    if(!certo){
                        break;
                    }
                }
            }

            if(certo){
                certo = this.daoGenerico.remover(this.tratamentoSelecionado);
            }

            if (!certo) {
                msg = "ERRO AO REMOVER TRATAMENTO!";
                message.setSummary(msg);
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
            } else {
                this.tratamentoTodos = this.daoGenerico.listarTodos(Tratamento.class);
            }

            FacesContext.getCurrentInstance().addMessage(null, message);

        }
    }

    public void atualizarTratamento() {
        if (this.tratamentoSelecionado != null) {
            this.tratamento = this.tratamentoSelecionado;
            this.pacienteSelecionado = this.tratamentoSelecionado.getPaciente();
        }
    }

    public void atualizarHorario(DateSelectEvent event) {
        this.verTodos();
        List<Atendimento> atendimentos = this.daoGenerico.atendimentosPorData(this.atendimento.getDataAtendimento());
        if (atendimentos != null && !atendimentos.isEmpty()) {
            for (Atendimento atendimento1 : atendimentos) {
                switch (atendimento1.getHorarioAtendimento()) {
                    case MANHA1:
                        this.vManha1 = true;
                        break;
                    case MANHA2:
                        this.vManha2 = true;
                        break;
                    case MANHA3:
                        this.vManha3 = true;
                        break;
                    case MANHA4:
                        this.vManha4 = true;
                        break;
                    case MANHA5:
                        this.vManha5 = true;
                        break;
                    case MANHA6:
                        this.vManha6 = true;
                        break;
                    case TARDE1:
                        this.vTarde1 = true;
                        break;
                    case TARDE2:
                        this.vTarde2 = true;
                        break;
                    case TARDE3:
                        this.vTarde3 = true;
                        break;
                    case TARDE4:
                        this.vTarde4 = true;
                        break;
                    case TARDE5:
                        this.vTarde5 = true;
                        break;
                    case TARDE6:
                        this.vTarde6 = true;
                        break;

                }
            }
        }

    }

    private void verTodos() {
        vManha1 = false;
        vManha2 = false;
        vManha3 = false;
        vManha4 = false;
        vManha5 = false;
        vManha6 = false;
        vTarde1 = false;
        vTarde2 = false;
        vTarde3 = false;
        vTarde4 = false;
        vTarde5 = false;
        vTarde6 = false;
    }

    public void quitarPagamento() {
        FacesMessage message = new FacesMessage();
        String msg = "PAGAMENTO QUITADO COM SUCESSO!";
        message.setSeverity(FacesMessage.SEVERITY_INFO);

        this.tratamentoSelecionado.getPagamento().setStatusPagamento("QUITADO");
        Tratamento t = this.daoGenerico.atualizar(this.tratamentoSelecionado);

        if (t == null) {
            msg = "ERRO AO QUITAR PAGAMENTO!";
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
        }

        message.setSummary(msg);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public void finalizarTratamento() {
        FacesMessage message = new FacesMessage();
        String msg = "TRATAMENTO FINALIZADO COM SUCESSO!";
        message.setSeverity(FacesMessage.SEVERITY_INFO);

        this.tratamentoSelecionado.setStatus("FINALIZADO");
        Tratamento t = this.daoGenerico.atualizar(this.tratamentoSelecionado);

        if (t == null) {
            msg = "ERRO AO FINALIZAR TRATAMENTO!";
            message.setSeverity(FacesMessage.SEVERITY_ERROR);
        }

        message.setSummary(msg);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    public void adcionarItemTratamento() {
        ItemTratamento atualItem = null;
        boolean tem = false;

        for (ItemTratamento itemTratamento1 : this.tratamento.getItensTratamentos()) {
            if (itemTratamento1.getItemEstoque().equals(this.itemEstoqueSelecionado)) {
                atualItem = itemTratamento1;
                tem = true;
            }
        }

        if (tem) {
            Long novaQuant = atualItem.getQuantidade_consumida() + this.itemTratamento.getQuantidade_consumida();

            if (this.itemTratamento.getQuantidade_consumida() <= this.itemEstoqueSelecionado.getQuantidade_estoque()) {
                this.itemEstoqueSelecionado.setQuantidade_estoque(this.itemEstoqueSelecionado.getQuantidade_estoque() - this.itemTratamento.getQuantidade_consumida());
                this.daoGenerico.atualizar(itemEstoqueSelecionado);

                atualItem.setQuantidade_consumida(novaQuant);
                this.itemTratamento = new ItemTratamento();
            } else {
                FacesMessage message = new FacesMessage();
                String msg = "QUANTIDADE NÃO PERMITIDA!";
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
                message.setSummary(msg);
                FacesContext.getCurrentInstance().addMessage(null, message);
                this.itemTratamento.setQuantidade_consumida(null);
            }

        } else {
            if (this.itemTratamento.getQuantidade_consumida() <= this.itemEstoqueSelecionado.getQuantidade_estoque()) {
                this.itemEstoqueSelecionado.setQuantidade_estoque(this.itemEstoqueSelecionado.getQuantidade_estoque() - this.itemTratamento.getQuantidade_consumida());
                this.daoGenerico.atualizar(itemEstoqueSelecionado);

                List<ItemTratamento> itemTratamentos = this.tratamento.getItensTratamentos();
                this.itemTratamento.setItemEstoque(itemEstoqueSelecionado);
                itemTratamentos.add(itemTratamento);
                this.tratamento.setItensTratamentos(itemTratamentos);
                this.itemTratamento = new ItemTratamento();
            } else {
                FacesMessage message = new FacesMessage();
                String msg = "QUANTIDADE NÃO PERMITIDA!";
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
                message.setSummary(msg);
                FacesContext.getCurrentInstance().addMessage(null, message);
                this.itemTratamento.setQuantidade_consumida(null);
            }
        }


    }

    public void excluirItemTratamento(ItemTratamento tratamento1) {
        ItemEstoque ie = tratamento1.getItemEstoque();
        ie.setQuantidade_estoque(ie.getQuantidade_estoque() + tratamento1.getQuantidade_consumida());
        this.daoGenerico.atualizar(ie);
        List<ItemTratamento> itemTratamentos = this.tratamento.getItensTratamentos();
        itemTratamentos.remove(tratamento1);
//        for (Iterator<ItemTratamento> it = itemTratamentos.iterator(); it.hasNext();) {
//            ItemTratamento tratamento2 = it.next();
//            if (tratamento2.equals(tratamento1)) {
//                it.remove();
//                break;
//            }
//        }
        this.tratamento.setItensTratamentos(itemTratamentos);
    }

    public void adcionarAtendimento() {
        List<Atendimento> atendimentos = this.tratamento.getAtendimentos();
        atendimentos.add(atendimento);
        this.tratamento.setAtendimentos(atendimentos);
        this.atendimento = new Atendimento();
    }

    public void excluirAtendimento(Atendimento a) {
        List<Atendimento> atendimentos = this.tratamento.getAtendimentos();
        for (Iterator<Atendimento> it = atendimentos.iterator(); it.hasNext();) {
            Atendimento a1 = it.next();
            if (a1.equals(a)) {
                it.remove();
                break;
            }
        }
        this.tratamento.setAtendimentos(atendimentos);
    }

    public void adcionarServicoPrestado() {
        ServicoPrestado sp = null;
        boolean tem = false;
        for (ServicoPrestado servicoPrestado : this.tratamento.getServicosPrestados()) {
            if (servicoPrestado.getServico().equals(this.servicoSelecionado)) {
                tem = true;
                sp = servicoPrestado;
            }
        }

        if (tem) {
            BigDecimal valorAnt = sp.getValor();
            Long novaQuant = sp.getQuantidade() + quantidadeServico;
            sp.setQuantidade(novaQuant);
            BigDecimal novoValor = valorSelecionado.multiply(BigDecimal.valueOf(quantidadeServico));
            BigDecimal valorTotal = valorAnt.add(novoValor);
            sp.setValor(valorTotal);
        } else {
            ServicoPrestado servicoPrestado = new ServicoPrestado();
            servicoPrestado.setQuantidade(quantidadeServico);
            BigDecimal valorTotal = valorSelecionado.multiply(BigDecimal.valueOf(quantidadeServico));
            servicoPrestado.setValor(valorTotal);
            servicoPrestado.setServico(servicoSelecionado);
            List<ServicoPrestado> prestados = this.tratamento.getServicosPrestados();
            prestados.add(servicoPrestado);
            this.tratamento.setServicosPrestados(prestados);
        }

        servicoSelecionado = new Servico();
        quantidadeServico = null;
        valorSelecionado = null;
    }

    public void excluirServicoPrestado(ServicoPrestado sp) {
        List<ServicoPrestado> prestados = this.tratamento.getServicosPrestados();
        for (Iterator<ServicoPrestado> it = prestados.iterator(); it.hasNext();) {
            ServicoPrestado servicoPrestado = it.next();
            if (servicoPrestado.equals(sp)) {
                it.remove();
                break;
            }
        }
        this.tratamento.setServicosPrestados(prestados);
    }

    public void gerarOrcamento() {
        FacesMessage message = new FacesMessage();
        String msg = "ORÇAMENTO EMITIDO COM SUCESSO!";
        message.setSeverity(FacesMessage.SEVERITY_INFO);

        if (pacienteSelecionado == null) {
            msg = "SELECIONE UM PACIENTE!";
            message.setSeverity(FacesMessage.SEVERITY_INFO);
        } else if (this.tratamento.getServicosPrestados() == null || this.tratamento.getServicosPrestados().isEmpty()) {
            msg = "SELECIONE OS SERVIÇOS À REALIZAR!";
            message.setSeverity(FacesMessage.SEVERITY_INFO);
        } else {
            this.carregarClinica();
            Double total = new Double(0);
            for (ServicoPrestado servicoPrestado : this.tratamento.getServicosPrestados()) {
                total = total + servicoPrestado.getValor().doubleValue();
            }
            HashMap<String, Object> parameterMap = new HashMap<String, Object>();
            String nomepaciente = this.pacienteSelecionado.getNome() + " " + this.pacienteSelecionado.getSobrenome();
            String enderecoClinica = this.clinica.getEndereco().getLogradouro() + ", " + this.clinica.getEndereco().getNumero() + " - " + this.clinica.getEndereco().getBairro() + ", " + this.clinica.getEndereco().getCidade() + "-" + this.clinica.getEndereco().getUf();
            String logo = FacesContext.getCurrentInstance().getExternalContext().getRealPath("/resources/clinica/" + this.clinica.getLogo());
            parameterMap.put("NOME_PACIENTE", nomepaciente);
            parameterMap.put("CLINICA_LOGO", logo);
            parameterMap.put("CLINICA_ENDERECO", enderecoClinica);
            parameterMap.put("CLINICA_EMAIL", this.clinica.getContato().getEmail());
            parameterMap.put("CLINICA_TELEFONE", this.clinica.getContato().getTelefone());
            parameterMap.put("CLINICA_CELULAR", this.clinica.getContato().getCelular());
            parameterMap.put("TOTAL", total);

            String relatorio = "orcamento.jasper";
            RelatorioUtil.gerarRelatorio(relatorio, parameterMap, this.tratamento.getServicosPrestados());
        }

        message.setSummary(msg);
        FacesContext.getCurrentInstance().addMessage(null, message);
    }

    private void carregarClinica() {
        ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
        HttpSession session = (HttpSession) externalContext.getSession(true);
        Clinica clinica1 = (Clinica) session.getAttribute("clinica");
        if (clinica1 != null) {
            this.clinica = clinica1;
        } else {
            this.clinica = new Clinica();
        }
    }

    private void carregarDentista() {
        ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
        HttpSession session = (HttpSession) externalContext.getSession(true);
        this.dentista = (Dentista) session.getAttribute("usuario");
    }

    public void onRowSelect(SelectEvent event) {
    }

    public ItemTratamento getItemTratamento() {
        return itemTratamento;
    }

    public void setItemTratamento(ItemTratamento itemTratamento) {
        this.itemTratamento = itemTratamento;
    }

    public HorarioAtendimento getManha1() {
        return manha1;
    }

    public void setManha1(HorarioAtendimento manha1) {
        this.manha1 = manha1;
    }

    public HorarioAtendimento getManha2() {
        return manha2;
    }

    public void setManha2(HorarioAtendimento manha2) {
        this.manha2 = manha2;
    }

    public HorarioAtendimento getManha3() {
        return manha3;
    }

    public void setManha3(HorarioAtendimento manha3) {
        this.manha3 = manha3;
    }

    public HorarioAtendimento getManha4() {
        return manha4;
    }

    public void setManha4(HorarioAtendimento manha4) {
        this.manha4 = manha4;
    }

    public HorarioAtendimento getManha5() {
        return manha5;
    }

    public void setManha5(HorarioAtendimento manha5) {
        this.manha5 = manha5;
    }

    public HorarioAtendimento getManha6() {
        return manha6;
    }

    public void setManha6(HorarioAtendimento manha6) {
        this.manha6 = manha6;
    }

    public HorarioAtendimento getTarde1() {
        return tarde1;
    }

    public void setTarde1(HorarioAtendimento tarde1) {
        this.tarde1 = tarde1;
    }

    public HorarioAtendimento getTarde2() {
        return tarde2;
    }

    public void setTarde2(HorarioAtendimento tarde2) {
        this.tarde2 = tarde2;
    }

    public HorarioAtendimento getTarde3() {
        return tarde3;
    }

    public void setTarde3(HorarioAtendimento tarde3) {
        this.tarde3 = tarde3;
    }

    public HorarioAtendimento getTarde4() {
        return tarde4;
    }

    public void setTarde4(HorarioAtendimento tarde4) {
        this.tarde4 = tarde4;
    }

    public HorarioAtendimento getTarde5() {
        return tarde5;
    }

    public void setTarde5(HorarioAtendimento tarde5) {
        this.tarde5 = tarde5;
    }

    public HorarioAtendimento getTarde6() {
        return tarde6;
    }

    public void setTarde6(HorarioAtendimento tarde6) {
        this.tarde6 = tarde6;
    }

    public HorarioAtendimento getHorarioAtendimento() {
        return horarioAtendimento;
    }

    public void setHorarioAtendimento(HorarioAtendimento horarioAtendimento) {
        this.horarioAtendimento = horarioAtendimento;
    }

    public Atendimento getAtendimento() {
        return atendimento;
    }

    public void setAtendimento(Atendimento atendimento) {
        this.atendimento = atendimento;
    }

    public BigDecimal getValorSelecionado() {
        return valorSelecionado;
    }

    public void setValorSelecionado(BigDecimal valorSelecionado) {
        this.valorSelecionado = valorSelecionado;
    }

    public Long getQuantidadeServico() {
        return quantidadeServico;
    }

    public void setQuantidadeServico(Long quantidadeServico) {
        this.quantidadeServico = quantidadeServico;
    }

    public int getQuantidadeItemEstoque() {
        return quantidadeItemEstoque;
    }

    public void setQuantidadeItemEstoque(int quantidadeItemEstoque) {
        this.quantidadeItemEstoque = quantidadeItemEstoque;
    }

    public Servico getServicoSelecionado() {
        return servicoSelecionado;
    }

    public void setServicoSelecionado(Servico servicoSelecionado) {
        this.servicoSelecionado = servicoSelecionado;
    }

    public ItemEstoque getItemEstoqueSelecionado() {
        return itemEstoqueSelecionado;
    }

    public void setItemEstoqueSelecionado(ItemEstoque itemEstoqueSelecionado) {
        this.itemEstoqueSelecionado = itemEstoqueSelecionado;
    }

    public List<Servico> getListaServicos() {
        return listaServicos;
    }

    public void setListaServicos(List<Servico> listaServicos) {
        this.listaServicos = listaServicos;
    }

    public List<ItemEstoque> getListaItensEstoque() {
        return listaItensEstoque;
    }

    public void setListaItensEstoque(List<ItemEstoque> listaItensEstoque) {
        this.listaItensEstoque = listaItensEstoque;
    }

    public Tratamento getTratamento() {
        return tratamento;
    }

    public void setTratamento(Tratamento tratamento) {
        this.tratamento = tratamento;
    }

    public Paciente getPacienteSelecionado() {
        return pacienteSelecionado;
    }

    public void setPacienteSelecionado(Paciente pacienteSelecionado) {
        this.pacienteSelecionado = pacienteSelecionado;
    }

    public PacienteDataModel getPacienteDataModel() {
        return pacienteDataModel;
    }

    public void setPacienteDataModel(PacienteDataModel pacienteDataModel) {
        this.pacienteDataModel = pacienteDataModel;
    }

    public List<Tratamento> getTratamentoTodos() {
        return tratamentoTodos;
    }

    public void setTratamentoTodos(List<Tratamento> tratamentoTodos) {
        this.tratamentoTodos = tratamentoTodos;
    }

    public Tratamento getTratamentoSelecionado() {
        return tratamentoSelecionado;
    }

    public void setTratamentoSelecionado(Tratamento tratamentoSelecionado) {
        this.tratamentoSelecionado = tratamentoSelecionado;
    }

    public boolean isvManha1() {
        return vManha1;
    }

    public void setvManha1(boolean vManha1) {
        this.vManha1 = vManha1;
    }

    public boolean isvManha2() {
        return vManha2;
    }

    public void setvManha2(boolean vManha2) {
        this.vManha2 = vManha2;
    }

    public boolean isvManha3() {
        return vManha3;
    }

    public void setvManha3(boolean vManha3) {
        this.vManha3 = vManha3;
    }

    public boolean isvManha4() {
        return vManha4;
    }

    public void setvManha4(boolean vManha4) {
        this.vManha4 = vManha4;
    }

    public boolean isvManha5() {
        return vManha5;
    }

    public void setvManha5(boolean vManha5) {
        this.vManha5 = vManha5;
    }

    public boolean isvManha6() {
        return vManha6;
    }

    public void setvManha6(boolean vManha6) {
        this.vManha6 = vManha6;
    }

    public boolean isvTarde1() {
        return vTarde1;
    }

    public void setvTarde1(boolean vTarde1) {
        this.vTarde1 = vTarde1;
    }

    public boolean isvTarde2() {
        return vTarde2;
    }

    public void setvTarde2(boolean vTarde2) {
        this.vTarde2 = vTarde2;
    }

    public boolean isvTarde3() {
        return vTarde3;
    }

    public void setvTarde3(boolean vTarde3) {
        this.vTarde3 = vTarde3;
    }

    public boolean isvTarde4() {
        return vTarde4;
    }

    public void setvTarde4(boolean vTarde4) {
        this.vTarde4 = vTarde4;
    }

    public boolean isvTarde5() {
        return vTarde5;
    }

    public void setvTarde5(boolean vTarde5) {
        this.vTarde5 = vTarde5;
    }

    public boolean isvTarde6() {
        return vTarde6;
    }

    public void setvTarde6(boolean vTarde6) {
        this.vTarde6 = vTarde6;
    }
}
